/**
 * Generali Solutions d'assurances - Tous droits réservés &copy; 2007 - 2010
 */
package fr.generali.accueilclient.dommages.assembler;

import java.util.ArrayList;
import java.util.List;

import org.springframework.stereotype.Component;

import fr.generali.accueilclient.dommages.om.IListeProduitsRecherche;
import fr.generali.souscriptiongestion.dommages.tosca.listerproduitsautorisesiard.demande.DTODemande;
import fr.generali.souscriptiongestion.dommages.tosca.listerproduitsautorisesiard.pdt.catalogueproduit.DTOProduit;
import fr.generali.souscriptiongestion.dommages.tosca.listerproduitsautorisesiard.reponse.DTOReponse;

/**
 * @author Holmes Kelly
 */

@Component("listeProduitsAutorisesMapper")
public class ListeProduitsAutorisesMapper {

    /**
     * @param criteresProduitsRecherche criteres produits recherche
     * @return DTODemande
     */
    public DTODemande mapperDTODemande(IListeProduitsRecherche criteresProduitsRecherche) {

        DTODemande criteres = null;
        if (criteresProduitsRecherche != null) {
            criteres = new DTODemande();
            criteres.setIdentifiantRACF(criteresProduitsRecherche.getIdentifiantRACF());
            criteres.setMotDePasseRACF(criteresProduitsRecherche.getMotDePasseRACF());
            criteres.setCodeSocieteDuGroupe(criteresProduitsRecherche.getCodeCompagnie());
            criteres.setCodeSiteProduction(criteresProduitsRecherche.getCodeSite());
            criteres.setIdentifiantPortefeuille(criteresProduitsRecherche.getCodePortefeuille());

        }

        return criteres;
    }

    /**
     * @param reponse reponse produits autorises
     * @return liste produits autorises
     */
    public List<String> mapperListeProduitsAutorises(DTOReponse reponse) {

        List<String> listProduitsAutorises = null;

        if (reponse != null && reponse.getProduitsAutorises() != null) {
            listProduitsAutorises = new ArrayList<String>();
            for (DTOProduit produit : reponse.getProduitsAutorises()) {
                String code = produit.getCode();
                listProduitsAutorises.add(code);
            }
        }

        return listProduitsAutorises;
    }

}
